package it.pizzastorm.domain.geolocalizzazione;

import org.apache.commons.lang.StringUtils;

/**
 * Rappresenta un indirizzo.
 */
public class Indirizzo implements IndirizzoRO {
  private CampiIndirizzo campiIndirizzo;

  /**
   * Restituisce il codice nazione secondo la codifica ISO 3166 alpha 2.
   * 
   * @return il codice nazione secondo la codifica ISO 3166 alpha 2
   */
  @Override
  public String getCodiceNazione() {
    return campiIndirizzo.getCodiceNazione();
  }

  /**
   * Assegna il codice nazione secondo la codifica ISO 3166 alpha 2.
   * 
   * @param codiceNazione
   *          il codice nazione secondo la codifica ISO 3166 alpha 2.
   */
  public void setCodiceNazione(String codiceNazione) {
    if (StringUtils.trimToNull(codiceNazione) == null)
      this.campiIndirizzo.setCodiceNazione(codiceNazione);
  }

  @Override
  public String getCitta() {
    return campiIndirizzo.getCitta();
  }

  public void setCitta(String citta) {
    this.campiIndirizzo.setCitta(citta);
  }

  @Override
  public String getCap() {
    return campiIndirizzo.getCap();
  }

  public void setCap(String cap) {
    this.campiIndirizzo.setCap(cap);
  }

  @Override
  public String getVia() {
    return campiIndirizzo.getVia();
  }

  public void setVia(String via) {
    this.campiIndirizzo.setVia(via);
  }

  @Override
  public String getNumeroCivico() {
    return campiIndirizzo.getNumeroCivico();
  }

  public void setNumeroCivico(String numeroCivico) {
    this.campiIndirizzo.setNumeroCivico(numeroCivico);
  }

  @Override
  public String getScala() {
    return campiIndirizzo.getScala();
  }

  public void setScala(String scala) {
    this.campiIndirizzo.setScala(scala);
  }

  @Override
  public String getPiano() {
    return campiIndirizzo.getPiano();
  }

  public void setPiano(String piano) {
    this.campiIndirizzo.setPiano(piano);
  }

  @Override
  public String getInterno() {
    return campiIndirizzo.getInterno();
  }

  public void setInterno(String interno) {
    this.campiIndirizzo.setInterno(interno);
  }
  /*
   * public String getIndirizzoCompleto(){ StringBuffer sb = new StringBuffer();
   * if (StringUtils.trimToNull(via) == null) return ""; sb.append(via); if
   * (StringUtils.trimToNull(numeroCivico) != null) { sb.append(" ");
   * sb.append(numeroCivico); } if (StringUtils.trimToNull(scala) != null) {
   * sb.append(" scala "); sb.append(scala); } if (StringUtils.trimToNull(piano)
   * != null) { sb.append(" piano "); sb.append(piano); } if
   * (StringUtils.trimToNull(interno) != null) { sb.append(" interno ");
   * sb.append(interno); }
   * 
   * }
   */
}
